package com.lo.dao;

import com.lo.entity.Course;
import com.lo.entity.CourseWithTCHName;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface CourseMapper {
    int insert(Course course);

    int deleteById(Long id);

    List<Course> selectCourseById(Long id);

    //更新课程数据
    int update(Course course);
    //审核设置
    int updateIsExamine(@Param("id")Long id);
    //删除设置为1
    int updateIsDelete(@Param("id") Long id);
    //删除设置为0
    int updateIsDelete2Zero(@Param("id") Long id);

    Long courseOrdinaryCount();
    Long courseVipCount();

    Long courseOrdinaryCountByTid(@Param("tid") Long tid);
    Long courseVipCountByTid(@Param("tid") Long tid);
    //普通课程
    List<CourseWithTCHName> selectOrdinaryCourse();
    List<CourseWithTCHName> selectOrdinaryCourseWithPage(@Param("search") String search);
    //vip课程
    List<CourseWithTCHName> selectVipCourse();
    List<CourseWithTCHName> selectVipCourseWithPage(@Param("search") String search);
    //工学课程
    List<CourseWithTCHName> selectEngineeringCourse();
    List<CourseWithTCHName> selectEngineeringCourseWithPage(@Param("search") String search);
    //理学课程
    List<CourseWithTCHName> selectScienceCourse();
    List<CourseWithTCHName> selectScienceCourseWithPage(@Param("search") String search);
    //文学
    List<CourseWithTCHName> selectLiteratureCourse();
    List<CourseWithTCHName> selectLiteratureCourseWithPage(@Param("search") String search);
    //法学
    List<CourseWithTCHName> selectLawCourse();
    List<CourseWithTCHName> selectLawCourseWithPage(@Param("search") String search);

    List<CourseWithTCHName> selectAllCourse();
    List<CourseWithTCHName> selectAllCourseWithPage(@Param("search") String search);


    List<CourseWithTCHName> selectCourseByTid(@Param("tid") Long id);

    List<CourseWithTCHName> selectByName(String name);
}
